{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "BspwgQKL3Na8"
   },
   "source": [
    "<font face=\"Times New Roman\" size=5><div dir=rtl align=center>\n",
    "<font face=\"Times New Roman\" size=5>\n",
    "In The Name of God\n",
    "</font>\n",
    "<br> <br>\n",
    "<img src=\"https://logoyar.com/content/wp-content/uploads/2021/04/sharif-university-logo.png\" alt=\"University Logo\" width=\"150\" height=\"150\">\n",
    "<br>\n",
    "<font face=\"Times New Roman\" size=4 align=center>\n",
    "Sharif University of Technology - Department of Computer\n",
    "</font>\n",
    "<br> <br>\n",
    "<font color=\"#008080\" size=5>\n",
    "Introduction to Machine Learning\n",
    "</font>\n",
    "\n",
    "<hr/> <br>\n",
    "<font color=\"#800080\" size=6>\n",
    "Chapter 2: Generalization\n",
    "<br>\n",
    "</font>\n",
    "<br>\n",
    "<font face=\"Times New Roman\" size=4>\n",
    ":authors <br>\n",
    "<b>Hadis Ahmadian - Seyyed Alireza Ghazanfari</b>\n",
    "</font>\n",
    "<hr>\n",
    "</div></font>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "i6NrAXONPtcR"
   },
   "source": [
    "<font  size=5><div dir=ltr>\n",
    "<font face=\"Times New Roman\" color=\"#008080\" size=5>**Table of Contents**</font>\n",
    "<br>\n",
    "\n",
    "<font size=4>\n",
    "<ul>\n",
    "    <li>\n",
    "        <a href=\"#1\">\n",
    "            1. Generalization\n",
    "        </a>\n",
    "    </li>\n",
    "</ul>\n",
    "</div>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "sBzocXtIiTbu"
   },
   "source": [
    "<font face=\"Times New Roman\"><div id=\"1\">\n",
    "# <font color=\"#800080\" size=6>**1. Generaliztion**</font>\n",
    "</div>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "swwrxuSMAESj"
   },
   "source": [
    "#### <font color=\"#008080\" face=\"Times New Roman\" size=4>**Samples Preparation**</font>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7fd41e676050>]"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# sample generation by sin distribution + uniform noise\n",
    "import random\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "\n",
    "def function(x):\n",
    "    return np.sin(x)\n",
    "\n",
    "X_tr=random.sample(list(np.arange(0, 10, 0.1)), 30)\n",
    "Y_tr=[ function(x)+random.uniform(-0.3, 0.3) for x in X_tr]\n",
    "plt.scatter(X_tr,Y_tr,color=\"red\")\n",
    "X=np.arange(0, 10, 0.1)\n",
    "Y=[ function(x) for x in X]\n",
    "plt.plot(X,Y,color=\"green\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "swwrxuSMAESj"
   },
   "source": [
    "#### <font color=\"#008080\" face=\"Times New Roman\" size=4>**Comparison**</font>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAigAAAGdCAYAAAA44ojeAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/OQEPoAAAACXBIWXMAAA9hAAAPYQGoP6dpAABCbklEQVR4nO3de3gU9aH/8c/shoRcSJBIEiJBoxLuYhTBCCiWCCLiATl6aFOxFeGoYAWEKrXYeoOCQlugGuEo8vyUw9FWa0sLlYIiIiKiKF64SLF4IQGLJBBKArvz+2Mv7C6bZDfZ3dks79fzzDP3me9udmc++c53Zg3TNE0BAADEEZvVBQAAAAhEQAEAAHGHgAIAAOIOAQUAAMQdAgoAAIg7BBQAABB3CCgAACDuEFAAAEDcSbK6AE3hdDr1zTffqE2bNjIMw+riAACAEJimqSNHjig/P182W8N1JC0yoHzzzTcqKCiwuhgAAKAJvvzyS3Xs2LHBZVpkQGnTpo0k1wvMzMy0uDQAACAU1dXVKigo8J7HG9IiA4rnsk5mZiYBBQCAFiaU5hk0kgUAAHGHgAIAAOIOAQUAAMQdAgoAAIg7BBQAABB3CCgAACDuEFAAAEDcIaAAAIC4Q0ABAABxh4ACAADiDgEFAADEHQIKAACIOy3yxwITVZWkDZIOuYer3f0TklLcXbK739qn39o9PUmS3acf+FNMpiSnu3P4DAd2ZkBXH8Ons4Uw7NspYFg6vbyeMgcON1Sm+soZWF7f8tXX2QOGA7v6pgcuAzSH53vo+c6G2q/ve97Yd7++frBODQwHvoaGxn2nBesHDjc0raGuoTJ6BB4vbDr9WBH4/fc99ibVM97DPQ2hI6BY7JCkP0n6vaTX5AojSCyeg1V9oSZYGAoWmIwgww2FwMZCYn2d6hlubL58+goyraFl6lPfSStwWlNPWs4whhvqBw431vkGjmDBwTdshBvIEZ+qJbWxuhAtDAHFIsck3S7pJUknfaYXSSqUlOnusiS1klQnqdbdP+4eDuw73NtyBGxTOnUi8D35GQp+MqzvpOUR7IQQ+F9WfQf7xmpnzCD7C3YSC3ayC6ahMvqWr7GThqOeztnI/iXX3yLw7wFEWn3/4dcXfAPH6wu9jQVchdAPHA423th2QgnMTQngvuoLuIHHh2DHBc+x94TP+Emf6Zxsw8d7ZoFjkq6X9Lp7/CJJ/ylptKTuVhUKTeI5eNUXYIIFmmDj9VW/OxQ8RAULVw2FQc901TM/1Gr0cIaD9QPfu1CEctILduIJpeYo2DKB0wKDuz3I9Ppquhr7ZyDYPwyB4SJYsKjvHwsgkRBQYsw3nLSRtFLSlZaWCM3he1IBAEQOASWGAsPJaklXWFoiAADiEzcZxAjhBACA0BFQYuSnIpwAABAqAkoMVEt6zj28QoQTAAAaQ0CJgf8nqUauO3SGWVwWAABaAgJKlJmSnnIP3yFuBQQAIBQElCh7S9InktIkjbW4LAAAtBQElCjz1J78QK6nwgIAgMYRUKLogFy/sSNJd1pZEAAAWhgCShQ9K9fvMvSVdInFZQEAoCUhoESJQ9LT7mFqTwAACA8BJUr+JukLSWdJ+i9riwIAQItDQImScnf/R5JSLSwHAAAtEQElCvZL+ot7+A4rCwIAQAtFQImCdyQ5JV0sqcjaogAA0CIRUKLgA3efO3cAAGgaAkoUeAJKsaWlAACg5SKgRME2d/9iC8sAAEBLRkCJsG8lfSXXjwL2trgsAAC0VASUCPNc3rlQUhsrCwIAQAtGQImwbe4+7U8AAGi6sAKKw+HQzJkzVVhYqNTUVF1wwQV65JFHZJqmdxnTNPXggw+qQ4cOSk1NVWlpqXbv3u23nUOHDqmsrEyZmZlq27atxo0bp6NHj0bmFVnMU4NysZWFAACghQsroMyZM0dPPfWUFi1apM8++0xz5szR3LlztXDhQu8yc+fO1YIFC1ReXq7NmzcrPT1dQ4cO1fHjx73LlJWV6ZNPPtGaNWu0cuVKvfnmm5owYULkXpWFuIMHAIDmM0zf6o9GXH/99crNzdUzzzzjnTZ69Gilpqbq+eefl2mays/P17333qtp06ZJkqqqqpSbm6vnnntOY8aM0Weffabu3btry5Yt6tOnjyRp9erVuu666/TVV18pPz+/0XJUV1crKytLVVVVyszMDPc1R02NXO1OTEkVknKtLQ4AAHElnPN3WDUoV1xxhdauXatdu3ZJkj788EO99dZbGjZsmCRp7969qqioUGlpqXedrKws9evXT5s2bZIkbdq0SW3btvWGE0kqLS2VzWbT5s2bwylO3NkuVzjJE+EEAIDmSApn4fvvv1/V1dXq2rWr7Ha7HA6HHnvsMZWVlUmSKioqJEm5uf6n59zcXO+8iooK5eTk+BciKUnt2rXzLhOotrZWtbW13vHq6upwih0zXN4BACAywqpBefHFF/XCCy9o+fLlev/997Vs2TI98cQTWrZsWbTKJ0maPXu2srKyvF1BQUFU99dUBBQAACIjrIAyffp03X///RozZox69eqlW265RVOmTNHs2bMlSXl5eZKkyspKv/UqKyu98/Ly8nTgwAG/+SdPntShQ4e8ywSaMWOGqqqqvN2XX34ZTrFjhoACAEBkhBVQjh07JpvNfxW73S6n0ylJKiwsVF5entauXeudX11drc2bN6ukpESSVFJSosOHD2vr1q3eZdatWyen06l+/foF3W9KSooyMzP9unhzUq42KBK3GAMA0FxhtUEZMWKEHnvsMXXq1Ek9evTQBx98oPnz5+u2226TJBmGocmTJ+vRRx9V586dVVhYqJkzZyo/P18jR46UJHXr1k3XXnutxo8fr/Lycp04cUKTJk3SmDFjQrqDJ17tkFQr110851tcFgAAWrqwAsrChQs1c+ZM3XXXXTpw4IDy8/P13//933rwwQe9y/z0pz9VTU2NJkyYoMOHD2vAgAFavXq1Wrdu7V3mhRde0KRJkzR48GDZbDaNHj1aCxYsiNyrsoDvA9p4PC8AAM0T1nNQ4kU8PgdlqqRfS7pbUsuOWgAAREfUnoOC+m1z92kgCwBA8xFQIsAUd/AAABBJBJQI+Kekw5JaSepubVEAAEgIBJQI2Obu95CUbGE5AABIFASUCODyDgAAkUVAiYBt7v7FFpYBAIBEQkCJgH3u/oWWlgIAgMRBQImA/e5+B0tLAQBA4iCgNJND0kH3MAEFAIDIIKA00wFJTrneyPYWlwUAgERBQGmmCnc/R5LdyoIAAJBACCjN5Gl/kmdpKQAASCwElGaigSwAAJFHQGkmzyUeAgoAAJFDQGkmLvEAABB5BJRmogYFAIDII6A0EzUoAABEHgGlmWgkCwBA5BFQmsHUqUs81KAAABA5BJRmqJb0b/cwNSgAAEQOAaUZPLUnmZLSrCwIAAAJhoDSDDSQBQAgOggozUADWQAAooOA0gw0kAUAIDoIKM1ADQoAANFBQGkGalAAAIgOAkozUIMCAEB0EFCagYACAEB0EFCagUs8AABEBwGlieok/cs9TA0KAACRRUBpokp3P0lSOysLAgBAAiKgNJHvU2R5EwEAiCzOrU1EA1kAAKKHgNJENJAFACB6CChNRA0KAADRQ0BpImpQAACIHgJKE1GDAgBA9BBQmsj3Lh4AABBZBJQm8lzioQYFAIDII6A0gSkCCgAA0URAaYJDkk64h3OtLAgAAAmKgNIEnvYn7SSlWFkQAAASFAGlCWggCwBAdBFQmoD2JwAARBcBpQl4BgoAANFFQGkCniILAEB0EVCagBoUAACii4DSBNSgAAAQXQSUJqAGBQCA6CKgNAG3GQMAEF0ElDAdk1TtHqYGBQCA6CCghMnT/qS1pCwrCwIAQAIjoITJt4GsYWVBAABIYASUMB1093MsLQUAAImNgBImT/uTTEtLAQBAYiOghOmIu9/G0lIAAJDYCChhIqAAABB9BJQwEVAAAIg+AkqYCCgAAEQfASVMnoBCI1kAAKKHgBImz1081KAAABA9BJQwcYkHAIDoI6CEiYACAED0EVDCREABACD6CChhopEsAADRR0AJEzUoAABEX9gB5euvv9YPf/hDZWdnKzU1Vb169dJ7773nnW+aph588EF16NBBqampKi0t1e7du/22cejQIZWVlSkzM1Nt27bVuHHjdPTo0ea/migzxV08AADEQlgB5bvvvlP//v3VqlUrrVq1Sp9++qnmzZuns846y7vM3LlztWDBApWXl2vz5s1KT0/X0KFDdfz4ce8yZWVl+uSTT7RmzRqtXLlSb775piZMmBC5VxUltZJOuocJKAAARI9hmqYZ6sL333+/Nm7cqA0bNgSdb5qm8vPzde+992ratGmSpKqqKuXm5uq5557TmDFj9Nlnn6l79+7asmWL+vTpI0lavXq1rrvuOn311VfKz89vtBzV1dXKyspSVVWVMjNj1xrkoKQc9/AJSUkx2zMAAC1fOOfvsGpQ/vSnP6lPnz666aablJOTo+LiYi1ZssQ7f+/evaqoqFBpaal3WlZWlvr166dNmzZJkjZt2qS2bdt6w4kklZaWymazafPmzUH3W1tbq+rqar/OCp72J6kinAAAEE1hBZR//OMfeuqpp9S5c2f97W9/05133qmf/OQnWrZsmSSpoqJCkpSbm+u3Xm5urndeRUWFcnJy/OYnJSWpXbt23mUCzZ49W1lZWd6uoKAgnGJHDHfwAAAQG2EFFKfTqUsuuUSzZs1ScXGxJkyYoPHjx6u8vDxa5ZMkzZgxQ1VVVd7uyy+/jOr+6sMdPAAAxEZYAaVDhw7q3r2737Ru3bpp3759kqS8vDxJUmVlpd8ylZWV3nl5eXk6cOCA3/yTJ0/q0KFD3mUCpaSkKDMz06+zAnfwAAAQG2EFlP79+2vnzp1+03bt2qVzzz1XklRYWKi8vDytXbvWO7+6ulqbN29WSUmJJKmkpESHDx/W1q1bvcusW7dOTqdT/fr1a/ILiQVqUAAAiI2w2npOmTJFV1xxhWbNmqWbb75Z7777rhYvXqzFixdLkgzD0OTJk/Xoo4+qc+fOKiws1MyZM5Wfn6+RI0dKctW4XHvttd5LQydOnNCkSZM0ZsyYkO7gsRIBBQCA2AgroFx22WV65ZVXNGPGDD388MMqLCzUb37zG5WVlXmX+elPf6qamhpNmDBBhw8f1oABA7R69Wq1bt3au8wLL7ygSZMmafDgwbLZbBo9erQWLFgQuVcVJTSSBQAgNsJ6Dkq8sOo5KA9L+oWkCZKejtleAQBIDFF7DsqZjkayAADEBgElDLRBAQAgNggoYSCgAAAQGwSUMBBQAACIDQJKGLiLBwCA2CCghIEaFAAAYoOAEgbu4gEAIDYIKGGgBgUAgNggoISBgAIAQGwQUELkkHTMPUwjWQAAoouAEqKjPsPUoAAAEF1h/VjgmcxzeSdJUoqVBQGAOOBwOHTixAmri4E4Y7fblZSUJMMwmr0tAkqIfO/gaf7bDgAt19GjR/XVV1+pBf7WLGIgLS1NHTp0UHJycrO2Q0AJEQ1kAcBVc/LVV18pLS1N7du3j8h/ykgMpmmqrq5OBw8e1N69e9W5c2fZbE1vSUJACREBBQCkEydOyDRNtW/fXqmpqVYXB3EmNTVVrVq10j//+U/V1dWpdevWTd4WjWRDxGPuAeAUak5Qn+bUmvhtJyJbOQNQgwIAQOwQUEJEQAGAxDNo0CBNnjzZ6mIgCAJKiPgdHgBApP3yl79U165dlZ6errPOOkulpaXavHmz1cWKCwSUEFGDAgCItKKiIi1atEjbt2/XW2+9pfPOO09DhgzRwYMHrS6a5QgoIaKRLAC0bDU1NRo7dqwyMjLUoUMHzZs3z29+bW2tpk2bpnPOOUfp6enq16+f3njjDb9llixZooKCAqWlpWnUqFGaP3++2rZt2+Qy/eAHP1BpaanOP/989ejRQ/Pnz1d1dbU++uijJm8zUXCbcYioQQGA05mmdOxY48tFQ1qaFM7NRNOnT9f69ev16quvKicnRz/72c/0/vvv6+KLL5YkTZo0SZ9++qlWrFih/Px8vfLKK7r22mu1fft2de7cWRs3btQdd9yhOXPm6IYbbtDf//53zZw5028fGzZs0LBhwxosx9NPP62ysrLTptfV1Wnx4sXKyspS7969Q39hCYqAEiICCgCc7tgxKSPDmn0fPSqlp4e67FE988wzev755zV48GBJ0rJly9SxY0dJ0r59+7R06VLt27dP+fn5kqRp06Zp9erVWrp0qWbNmqWFCxdq2LBhmjZtmiTX5Zm3335bK1eu9O6nT58+2rZtW4Nlyc3N9RtfuXKlxowZo2PHjqlDhw5as2aNzj777NBeWAIjoISIgAIALdeePXtUV1enfv36eae1a9dOXbp0kSRt375dDodDRUVFfuvV1tYqOztbkrRz506NGjXKb37fvn39AkpqaqouvPDCsMp29dVXa9u2bfr222+1ZMkS3Xzzzdq8ebNycnLC2k6iIaCEiLt4AOB0aWmumgyr9h0pR48eld1u19atW2W32/3mZYRRRdSUSzzp6em68MILdeGFF+ryyy9X586d9cwzz2jGjBnhvYgEQ0AJETUoAHA6wwj9MouVLrjgArVq1UqbN29Wp06dJEnfffeddu3apauuukrFxcVyOBw6cOCABg4cGHQbXbp00ZYtW/ymBY435RJPIKfTqdra2kZeUeIjoISIu3gAoOXKyMjQuHHjNH36dGVnZysnJ0cPPPCA97HsRUVFKisr09ixYzVv3jwVFxfr4MGDWrt2rS666CINHz5cd999t6688krNnz9fI0aM0Lp167Rq1Sq/x/6Hc4mnpqZGjz32mG644QZ16NBB3377rX73u9/p66+/1k033RSV96El4TbjEFGDAgAt2+OPP66BAwdqxIgRKi0t1YABA3TppZd65y9dulRjx47Vvffeqy5dumjkyJHasmWLt8alf//+Ki8v1/z589W7d2+tXr1aU6ZMafIP4tntdu3YsUOjR49WUVGRRowYoX/961/asGGDevToEZHX3JIZpmmaVhciXNXV1crKylJVVZUyM6Nfp2FKaiXJIekrSedEfY8AEJ+OHz+uvXv3qrCwsFm/VJsoxo8frx07dmjDhg1WFyVuNPQZCef8zSWeEPxbrnAiUYMCAGeyJ554Qtdcc43S09O1atUqLVu2TE8++aTVxUpIBJQQHPEZtuh2fwBAHHj33Xc1d+5cHTlyROeff74WLFig22+/3epiJSQCSgg8ASVDNNoBgDPZiy++aHURzhicb0NAA1kAAGKLgBICAgoAALFFQAkBAQUAgNgioISAx9wDABBbBJQQ8BRZAABii4ASAi7xAAAQWwSUEBBQACAxDRo0SJMnT7a6GAiCgBICAgoAIFo+++wz3XDDDcrKylJ6erouu+wy7du3z+piWY6AEgICCgAgGvbs2aMBAwaoa9eueuONN/TRRx9p5syZ/M6RCCgh4S4eAGj5ampqNHbsWGVkZKhDhw6aN2+e3/za2lpNmzZN55xzjtLT09WvXz+98cYbfsssWbJEBQUFSktL06hRozR//ny1bdu2yWV64IEHdN1112nu3LkqLi7WBRdcoBtuuEE5OTlN3maiIKCEgLt4AKAepinV1FjTmWZYRZ0+fbrWr1+vV199Va+99preeOMNvf/++975kyZN0qZNm7RixQp99NFHuummm3Tttddq9+7dkqSNGzfqjjvu0D333KNt27bpmmuu0WOPPea3jw0bNigjI6PB7oUXXpAkOZ1O/eUvf1FRUZGGDh2qnJwc9evXT3/84x+b9zdJEIZphvkXjgPh/FxzJFwpaYOkFyXdFPW9AUD8On78uPbu3avCwkLXZYiaGinDop9RPXpUSk8PcdGjys7O1vPPP6+bbnIdyQ8dOqSOHTtqwoQJmjp1qs4//3zt27dP+fn53vVKS0vVt29fzZo1S2PGjNHRo0e1cuVK7/wf/vCHWrlypQ4fPixJ+ve//62vv/66wbLk5uaqTZs2qqioUIcOHZSWlqZHH31UV199tVavXq2f/exnev3113XVVVeF+YbEh9M+Iz7COX/zY4EhoA0KALRse/bsUV1dnfr16+ed1q5dO3Xp0kWStH37djkcDhUVFfmtV1tbq+zsbEnSzp07NWrUKL/5ffv29QssqampuvDCC0Mqk9PplCT9x3/8h6ZMmSJJuvjii/X222+rvLy8xQaUSCGghICAAgD1SEtz1WRYte8IOXr0qOx2u7Zu3Sq73e43LyOMGqINGzZo2LBhDS7z9NNPq6ysTGeffbaSkpLUvXt3v/ndunXTW2+9FXrhExQBJQQEFACoh2GEfJnFShdccIFatWqlzZs3q1OnTpKk7777Trt27dJVV12l4uJiORwOHThwQAMHDgy6jS5dumjLli1+0wLH+/Tpo23btjVYltzcXElScnKyLrvsMu3cudNv/q5du3TuueeG8/ISEgElBJ67eGgkCwAtU0ZGhsaNG6fp06crOztbOTk5euCBB2Szue4VKSoqUllZmcaOHat58+apuLhYBw8e1Nq1a3XRRRdp+PDhuvvuu3XllVdq/vz5GjFihNatW6dVq1bJMAzvfsK5xCO5Gu7+13/9l6688kpvG5Q///nPp909dCbiLp5GnJR03D1MDQoAtFyPP/64Bg4cqBEjRqi0tFQDBgzQpZde6p2/dOlSjR07Vvfee6+6dOmikSNHasuWLd4al/79+6u8vFzz589X7969tXr1ak2ZMqVZzywZNWqUysvLNXfuXPXq1Uv/8z//oz/84Q8aMGBAs19vS8ddPI34TlI793CtpOSo7g0A4ltDd2icicaPH68dO3Zow4YNVhclbnAXT4x42p8ki3ACAGe6J554Qtdcc43S09O1atUqLVu2TE8++aTVxUpIBJRG0EAWAODx7rvvau7cuTpy5IjOP/98LViwQLfffrvVxUpIBJRG8Jh7AIDHiy++aHURzhg0km0Ej7kHACD2CCiN4BIPAACxR0BpBAEFAIDYI6A0goACAEDsEVAaQUABACD2CCiN4DH3AADEHgGlEdSgAEDiGjRokCZPnmx1MRAEAaURBBQAQLS8/PLLGjJkiLKzs2UYxmm/hPzFF1/IMIyg3UsvvWRNoWOEgNIIAgoAIFpqamo0YMAAzZkzJ+j8goIC7d+/36976KGHlJGRoWHDhsW4tLFFQGkEAQUAEkNNTY3Gjh2rjIwMdejQQfPmzfObX1tbq2nTpumcc85Renq6+vXrpzfeeMNvmSVLlqigoEBpaWkaNWqU5s+fr7Zt2za5TLfccosefPBBlZaWBp1vt9uVl5fn173yyiu6+eablZGR0eT9tgQElEYQUACgfqakGos6M8yyTp8+XevXr9err76q1157TW+88Ybef/997/xJkyZp06ZNWrFihT766CPddNNNuvbaa7V7925J0saNG3XHHXfonnvu0bZt23TNNdfoscce89vHhg0blJGR0WD3wgsvhFnyU7Zu3apt27Zp3LhxTd5GS8Fv8TSCgAIA9Tsmyar/449KSg912aNH9cwzz+j555/X4MGDJUnLli1Tx44dJUn79u3T0qVLtW/fPuXn50uSpk2bptWrV2vp0qWaNWuWFi5cqGHDhmnatGmSpKKiIr399ttauXKldz99+vQ5rR1JoNzc3LBep69nnnlG3bp10xVXXNHkbbQUzapB+dWvfiXDMPxaQB8/flwTJ05Udna2MjIyNHr0aFVWVvqtt2/fPg0fPlxpaWnKycnR9OnTdfLkyeYUJWr+7e6nWVoKAEBz7NmzR3V1derXr593Wrt27dSlSxdJ0vbt2+VwOFRUVORX27F+/Xrt2bNHkrRz50717dvXb7uB46mpqbrwwgsb7Nq0adq/vP/+97+1fPnyM6L2RGpGDcqWLVv09NNP66KLLvKbPmXKFP3lL3/RSy+9pKysLE2aNEk33nijNm7cKElyOBwaPny48vLy9Pbbb2v//v0aO3asWrVqpVmzZjXv1URBrbufYmkpACA+pclVk2HVviPl6NGjstvt2rp1q+x2u9+8cNp6bNiwodHGq08//bTKysrCLuPvf/97HTt2TGPHjg173ZaoSQHl6NGjKisr05IlS/Too496p1dVVemZZ57R8uXL9b3vfU+StHTpUnXr1k3vvPOOLr/8cr322mv69NNP9fe//125ubm6+OKL9cgjj+i+++7TL3/5SyUnJ0fmlUXIcXefgAIApzMU+mUWK11wwQVq1aqVNm/erE6dOkmSvvvuO+3atUtXXXWViouL5XA4dODAAQ0cODDoNrp06aItW7b4TQscj+YlnmeeeUY33HCD2rdv36T1W5omBZSJEydq+PDhKi0t9QsoW7du1YkTJ/xaI3ft2lWdOnXSpk2bdPnll2vTpk3q1auX3x9o6NChuvPOO/XJJ5+ouLj4tP3V1taqtrbWO15dXX3aMtHi2WvrmO0RABBpGRkZGjdunKZPn67s7Gzl5OTogQcekM3maulQVFSksrIyjR07VvPmzVNxcbEOHjyotWvX6qKLLtLw4cN1991368orr9T8+fM1YsQIrVu3TqtWrZJhGN79eC7xhOrQoUPat2+fvvnmG0muy0iSvHfseHz++ed688039de//jUSb0eLEHYblBUrVuj999/X7NmzT5tXUVGh5OTk0265ys3NVUVFhXeZwPToGfcsE2j27NnKysrydgUFBeEWu8moQQGAxPD4449r4MCBGjFihEpLSzVgwABdeuml3vlLly7V2LFjde+996pLly4aOXKktmzZ4q1x6d+/v8rLyzV//nz17t1bq1ev1pQpU9S6ddP/hf3Tn/6k4uJiDR8+XJI0ZswYFRcXq7y83G+5Z599Vh07dtSQIUOavK+WxjBNM+Q7tb788kv16dNHa9as8bY9GTRokC6++GL95je/0fLly/XjH//Yr7ZDcjUiuvrqqzVnzhxNmDBB//znP/W3v/3NO//YsWNKT0/XX//616DX7oLVoBQUFKiqqkqZmdH7lZyTklq5h/8lqV3U9gQALcPx48e1d+9eFRYWNuvEnCjGjx+vHTt2aMOGDVYXJW409Bmprq5WVlZWSOfvsGpQtm7dqgMHDuiSSy5RUlKSkpKStH79ei1YsEBJSUnKzc1VXV2dDh8+7LdeZWWlt6oqLy/vtLt6POO+1Vm+UlJSlJmZ6dfFgm/MogYFAPDEE0/oww8/1Oeff66FCxdq2bJluvXWW60uVkIKK6AMHjxY27dv17Zt27xdnz59VFZW5h1u1aqV1q5d611n586d2rdvn0pKSiRJJSUl2r59uw4cOOBdZs2aNcrMzFT37t0j9LIi47jPMAEFAPDuu+/qmmuuUa9evVReXq4FCxbo9ttvt7pYCSmsRrJt2rRRz549/aalp6crOzvbO33cuHGaOnWq2rVrp8zMTN19990qKSnR5ZdfLkkaMmSIunfvrltuuUVz585VRUWFfv7zn2vixIlKSYmvGOCpQbGLJ9oBAKQXX3zR6iKcMSJ+3v31r38tm82m0aNHq7a2VkOHDtWTTz7pnW+327Vy5UrdeeedKikpUXp6um699VY9/PDDkS5Ks9FAFgAAa4TVSDZehNPIpjk+k9Rdrsax/4raXgCg5aCRLBpjSSPZMw1PkQUAwBoElAZ4LvHwPwIAALFFQGkANSgAAFiDgNIAGskCAGANAkoD+B0eAEBDvvjiCxmG0eAPBB47dkyjR49WZmamDMM47WGmsfTGG29YXoZQEVAawCUeAEBzLVu2TBs2bNDbb7+t/fv3KysrKyb7HTRokCZPnuw37YorrohpGZqD5481gEayAJCY6urqlJycHJN97dmzR926dTvtQadWSE5OrvdnZeINNSgNoAYFABLDoEGDNGnSJE2ePFlnn322hg4dKkn6+OOPNWzYMGVkZCg3N1e33HKLvv32W+96q1ev1oABA9S2bVtlZ2fr+uuv1549e8La77x58/Tmm2/KMAwNGjRIkmQYhv74xz/6Ldu2bVs999xzkk5dOnr55Zd19dVXKy0tTb1799amTZv81tm4caMGDRqktLQ0nXXWWRo6dKi+++47/ehHP9L69ev129/+VoZhyDAMffHFF0Ev8fzhD39Qjx49lJKSovPOO0/z5s3z28d5552nWbNm6bbbblObNm3UqVMnLV68OOT3oKkIKA2gkSwANMw0TdXU1VjShfuc0WXLlik5OVkbN25UeXm5Dh8+rO9973sqLi7We++9p9WrV6uyslI333yzd52amhpNnTpV7733ntauXSubzaZRo0bJ6XSGtM+XX35Z48ePV0lJifbv36+XX345rDI/8MADmjZtmrZt26aioiJ9//vf18mTJyVJ27Zt0+DBg9W9e3dt2rRJb731lkaMGCGHw6Hf/va3Kikp0fjx47V//37t379fBQUFp21/69atuvnmmzVmzBht375dv/zlLzVz5kxvUPKYN2+e+vTpow8++EB33XWX7rzzTu3cuTOs1xIuLvE0gEayANCwYyeOKWN2hiX7PjrjqNKT00NevnPnzpo7d653/NFHH1VxcbFmzZrlnfbss8+qoKBAu3btUlFRkUaPHu23jWeffVbt27fXp59+GtIlm3bt2iktLa3Jl1amTZum4cOHS5Ieeugh9ejRQ59//rm6du2quXPnqk+fPn4/J9OjRw/vcHJystLS0hrc7/z58zV48GDNnDlTklRUVKRPP/1Ujz/+uH70ox95l7vuuut01113SZLuu+8+/frXv9brr7+uLl26hP2aQkUNSgO4xAMAiePSSy/1G//www/1+uuvKyMjw9t17dpVkryXcXbv3q3vf//7Ov/885WZmanzzjtPkrRv376YlPmiiy7yDnfo0EGSdODAAUmnalCa47PPPlP//v39pvXv31+7d++Ww+EIWg7DMJSXl+ctR7RQg9IAGskCQMPSWqXp6Iyjlu07HOnp/rUtR48e1YgRIzRnzpzTlvWEgREjRujcc8/VkiVLlJ+fL6fTqZ49e6qurq7pBZfrJB94ierEiROnLdeqVSu/dSR5Ly+lpqY2qwzh8C2HpyyhXuZqKgJKA6hBAYCGGYYR1mWWeHLJJZfoD3/4g8477zwlJZ1+OvzXv/6lnTt3asmSJRo4cKAk6a233orIvtu3b6/9+/d7x3fv3q1jx46FtY2LLrpIa9eu1UMPPRR0fnJysl8tSDDdunXTxo0b/aZt3LhRRUVFstvtYZUn0rjE0wAayQJA4po4caIOHTqk73//+9qyZYv27Nmjv/3tb/rxj38sh8Ohs846S9nZ2Vq8eLE+//xzrVu3TlOnTo3Ivr/3ve9p0aJF+uCDD/Tee+/pjjvuOK2WojEzZszQli1bdNddd+mjjz7Sjh079NRTT3nvQjrvvPO0efNmffHFF/r222+D1njce++9Wrt2rR555BHt2rVLy5Yt06JFizRt2rSIvM7mIKA0gEayAJC48vPztXHjRjkcDg0ZMkS9evXS5MmT1bZtW9lsNtlsNq1YsUJbt25Vz549NWXKFD3++OMR2fe8efNUUFCggQMH6gc/+IGmTZumtLTwLlkVFRXptdde04cffqi+ffuqpKREr776qrc2aNq0abLb7erevbvat28ftN3MJZdcohdffFErVqxQz5499eCDD+rhhx/2ayBrFcMM9z6tOFBdXa2srCxVVVUpMzMzavv5saTnJP1K0n1R2wsAtBzHjx/X3r17VVhYqNat+fcNp2voMxLO+ZsalAbQSBYAAGsQUBpAI1kAAKxBQGkAjWQBALAGAaUBNJIFAMAaBJQGcIkHAABrEFAaQCNZAAiuBd4AihiJ1BNmeZJsA6hBAQB/rVq1kmEYOnjwoNq3b+99/Dpgmqbq6up08OBB2Ww2JScnN2t7BJQG0EgWAPzZ7XZ17NhRX331lb744guri4M4lJaWpk6dOslma95FGgJKA2gkCwCny8jIUOfOnYP+uB3ObHa7XUlJSRGpWSOgNIBLPAAQnN1ut/zH5JDYaCTbABrJAgBgDQJKA6hBAQDAGgSUepiiDQoAAFYhoNSjzmeYGhQAAGKLgFKPWp9hAgoAALFFQKnHcZ9hAgoAALFFQKmHpwYlWRLPSQQAILYIKPXgFmMAAKxDQKkHtxgDAGAdAko9+B0eAACsQ0CpB89AAQDAOgSUenCJBwAA6xBQ6kEjWQAArENAqQc1KAAAWIeAUg8ayQIAYB0CSj1oJAsAgHUIKPXgEg8AANYhoNSDRrIAAFiHgFIPalAAALAOAaUeNJIFAMA6BJR60EgWAADrEFDqwSUeAACsQ0CpB41kAQCwDgGlHtSgAABgHQJKPWgkCwCAdQgo9aCRLAAA1iGg1INLPAAAWIeAUg8ayQIAYB0CSj2oQQEAwDoElHrQSBYAAOsQUOpBI1kAAKxDQKkHl3gAALAOAaUeNJIFAMA6BJR6UIMCAIB1CCj1oJEsAADWIaDUg0ayAABYh4BSDy7xAABgHQJKEA5JJ93D1KAAABB7BJQgan2GqUEBACD2CChBHPcZpgYFAIDYCyugzJ49W5dddpnatGmjnJwcjRw5Ujt37vRb5vjx45o4caKys7OVkZGh0aNHq7Ky0m+Zffv2afjw4UpLS1NOTo6mT5+ukydPKl54alBskpKsLAgAAGeosALK+vXrNXHiRL3zzjtas2aNTpw4oSFDhqimpsa7zJQpU/TnP/9ZL730ktavX69vvvlGN954o3e+w+HQ8OHDVVdXp7ffflvLli3Tc889pwcffDByr6qZaCALAIC1DNM0zaaufPDgQeXk5Gj9+vW68sorVVVVpfbt22v58uX6z//8T0nSjh071K1bN23atEmXX365Vq1apeuvv17ffPONcnNzJUnl5eW67777dPDgQSUnJze63+rqamVlZamqqkqZmZlNLX69dkjqJuksSYcivnUAAM5M4Zy/m9UGpaqqSpLUrl07SdLWrVt14sQJlZaWepfp2rWrOnXqpE2bNkmSNm3apF69ennDiSQNHTpU1dXV+uSTT4Lup7a2VtXV1X5dNFGDAgCAtZocUJxOpyZPnqz+/furZ8+ekqSKigolJyerbdu2fsvm5uaqoqLCu4xvOPHM98wLZvbs2crKyvJ2BQUFTS12SPgdHgAArNXkgDJx4kR9/PHHWrFiRSTLE9SMGTNUVVXl7b788suo7o8aFAAArNWkm1QmTZqklStX6s0331THjh290/Py8lRXV6fDhw/71aJUVlYqLy/Pu8y7777rtz3PXT6eZQKlpKQoJSV2cYGAAgCAtcKqQTFNU5MmTdIrr7yidevWqbCw0G/+pZdeqlatWmnt2rXeaTt37tS+fftUUlIiSSopKdH27dt14MAB7zJr1qxRZmamunfv3pzXEjFc4gEAwFph1aBMnDhRy5cv16uvvqo2bdp424xkZWUpNTVVWVlZGjdunKZOnap27dopMzNTd999t0pKSnT55ZdLkoYMGaLu3bvrlltu0dy5c1VRUaGf//znmjhxYkxrSRpCDQoAANYKK6A89dRTkqRBgwb5TV+6dKl+9KMfSZJ+/etfy2azafTo0aqtrdXQoUP15JNPepe12+1auXKl7rzzTpWU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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Fit 3 different polynomials with different degrees to the samples and observe their behavior.\n",
    "plt.scatter(X_tr,Y_tr,color=\"yellow\")\n",
    "X=np.arange(0,9, 0.1)\n",
    "C=[\"blue\",\"red\",\"cyan\"]\n",
    "k=-1\n",
    "for deg in [3, 6, 17]:\n",
    "  k+=1\n",
    "  Y=[]\n",
    "  res=np.polyfit(X_tr, Y_tr, deg, rcond=None, full=False, w=None, cov=False)\n",
    "  for x in X:\n",
    "    y=0\n",
    "    for i in range(deg):\n",
    "      y+=(x**(deg-i)*res[i])\n",
    "    Y.append(y)\n",
    "  plt.plot(X,Y,color=C[k],label=\"deg=\"+str(deg))\n",
    "\n",
    "X=np.arange(0, 10, 0.1)\n",
    "Y=[ function(x) for x in X]\n",
    "plt.plot(X,Y,color=\"green\",label=\"real function\")\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "colab": {
   "collapsed_sections": [
    "rYaiPL1plrDm",
    "swwrxuSMAESj",
    "gYuiA7fFAESk",
    "helJaWTOAESk",
    "0BrjWqO-AESk",
    "E5LZv8WxAESl",
    "gSvKw0pdAESm",
    "DCicBNv3AESm",
    "rpEZrgzGAESn",
    "68iIHGEgAl1w",
    "hXPBaNz8Al1x",
    "M0vNkt4dAl1x",
    "_8eHSEgJAl1x",
    "14oWGLnbAl1y",
    "osVXNTRxAl1y",
    "UNVQE4NhAl1z",
    "SULBwRA6Al10",
    "OZyxj4cjnzW_",
    "eVbZVyBbDA_0",
    "8Iel5jWADA_0",
    "sk45TUlPDA_1",
    "Jsg8bozFDA_1",
    "VQ5QM-42DA_1",
    "UYJC961EDA_2",
    "3pZCWtkeo2Q_",
    "BG6JDKXAKthv",
    "I3TA7qSXJJug",
    "vORapzaoJJug",
    "2JNOCPY3JJuh",
    "3bDvO3dZJXLK",
    "DdttC2gIJhFv",
    "d1zcyxjIJnxg",
    "PcxB-PgbJ1FT",
    "TOn8ae25J-Px",
    "RnJ3PbxLKkyu",
    "JGusVztLLKHA",
    "D2hHo3jxLKHA",
    "GYdgEkdDLKHB",
    "L-YMqtB5LKHB",
    "B-nGWBOrIrDe",
    "1kwiWMyhL0Cw",
    "EcUj0p-zL0Cw",
    "ZpIDH-M4L0Cx",
    "950JsRNjMAny",
    "iOPf8PsJMHZ4",
    "a6xyh9qQMNUh",
    "HBT59RLpIyUY",
    "XjRZm_smMaVe",
    "GjQTvUPCNGiw",
    "FnHgYu6jNcNn",
    "UuhpDpAfNhYJ",
    "sb5j_Pm8NrmT",
    "0fK-03_HNula",
    "sq_TTicpN0Rz",
    "1TgrioWuqBHB",
    "DXDtIWVI8y1_",
    "fnaXSgAZ-RoF",
    "OuleUT7a-aLd",
    "v3vX2AMI-jCL",
    "NB7H40DRqdBB",
    "0VlisYKK1BZ_",
    "lDvUSGJx15Dj",
    "PHHocSy32QI1",
    "Q7t6YQtj2Kgg",
    "n2JfuA9Wrqc4",
    "5mJ6zlBgsQVA",
    "TukJ4C4HsQVA",
    "f57VmUBasQVA",
    "HX4ZzxDNsQVB",
    "ze7ht2dosQVB",
    "vkmW7nLxtTbU",
    "VEqcnt5hwNdd",
    "fSjtED4lwXGX",
    "8p7waG2NwXN_",
    "0RYjgiwjzwKx",
    "LBfyqilLwXVo",
    "XDcH1G2wxDoG"
   ],
   "provenance": [],
   "toc_visible": true
  },
  "kernelspec": {
   "display_name": "local-venv",
   "language": "python",
   "name": "local-venv"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
